]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
dash: Add tooltip label to show applications icon
authorJasper St. Pierre <jstpierre@mecheye.net>
Wed, 22 Aug 2012 09:46:28 +0000 (06:46 -0300)
committerJasper St. Pierre <jstpierre@mecheye.net>
Wed, 22 Aug 2012 18:55:24 +0000 (15:55 -0300)
Make the tooltip dependent on whether we are currently dragging
on hover or not.

https://bugzilla.gnome.org/show_bug.cgi?id=682445

js/ui/dash.js

index 47f6f4d3950af8e31a42063878192c37e8a6897f..6fcd70de6df6c458d06f21ed6185246266f5be09 100644 (file)
@@ -250,6 +250,7 @@ const ShowAppsIcon = new Lang.Class({
         this.toggleButton._delegate = this;
 
         this.setChild(this.toggleButton);
+        this.setHover(false);
     },
 
     _createIcon: function(size) {
@@ -265,6 +266,11 @@ const ShowAppsIcon = new Lang.Class({
         this.toggleButton.set_hover(hovered);
         if (this._iconActor)
             this._iconActor.set_hover(hovered);
+
+        if (hovered)
+            this.setLabelText(_("Remove from Favorites"));
+        else
+            this.setLabelText(_("Show Applications"));
     },
 
     // Rely on the dragged item being a favorite
@@ -330,6 +336,7 @@ const Dash = new Lang.Class({
 
         this._showAppsIcon = new ShowAppsIcon();
         this._showAppsIcon.icon.setIconSize(this.iconSize);
+        this._hookUpLabel(this._showAppsIcon);
 
         this.showAppsButton = this._showAppsIcon.toggleButton;
 
@@ -428,6 +435,17 @@ const Dash = new Lang.Class({
         Main.queueDeferredWork(this._workId);
     },
 
+    _hookUpLabel: function(item) {
+        item.child.connect('notify::hover', Lang.bind(this, function() {
+            this._onHover(item);
+        }));
+
+        Main.overview.connect('hiding', Lang.bind(this, function() {
+            this._labelShowing = false;
+            item.hideLabel();
+        }));
+    },
+
     _createAppItem: function(app) {
         let display = new AppDisplay.AppWellIcon(app,
                                                  { setSizeManually: true,
@@ -447,25 +465,14 @@ const Dash = new Lang.Class({
         item.setLabelText(app.get_name());
         // Override default AppWellIcon label_actor
         display.actor.label_actor = item.label;
-
-
         display.icon.setIconSize(this.iconSize);
-        display.actor.connect('notify::hover',
-                               Lang.bind(this, function() {
-                                   this._onHover(item, display)
-                               }));
-
-        Main.overview.connect('hiding',
-                              Lang.bind(this, function() {
-                                  this._labelShowing = false;
-                                  item.hideLabel();
-                              }));
+        this._hookUpLabel(item);
 
         return item;
     },
 
-    _onHover: function (item, display) {
-        if (display.actor.get_hover() && !display.isMenuUp) {
+    _onHover: function (item) {
+        if (item.child.get_hover() && !item.child._delegate.isMenuUp) {
             if (this._showLabelTimeoutId == 0) {
                 let timeout = this._labelShowing ? 0 : DASH_ITEM_HOVER_TIMEOUT;
                 this._showLabelTimeoutId = Mainloop.timeout_add(timeout,